<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title> 写出至少三种变量定义的方式，并指出它们的区别 </title>
</head>
<body>
    
   <script>
    // 至少三种变量定义的方式 ：let  var  const
    // 区别：
    // 1. 使用var在全局作用域中声明的变量会成为window对象的属性，let不会
    // 2. let声明的范围是块作用域，var声明的范围是函数作用域
    function unm(){
        var unm = 11 ;
        console.log(unm);
    }
    console.log(unm);

    function unm(){
        let age = 18;
        console.log(age);
    }
    console.log(age); //报错 定义变量.html:26 Uncaught ReferenceError: age is not defined
    // 3. let声明的变量不会在作用域中被提升，var存在变量提升
    // 4. let不允许同一个块作用域出现多次声明，var允许，后面声明的变量值会覆盖前一个。
    // 3. const 定义变量不可以修改
    const b = 2;
    b = 5;
    console.log(b); //报错 Uncaught TypeError: Assignment to constant variable.












   </script>
    
    
</body>
</html>
